@echo off
chcp 65001 > nul

:: 定义路径变量
set "MODEL_DIR=E:\selling-partner-api-models-main\models"
set "OUTPUT_DIR=C:\SwaggerToCL"
set "CONFIG_FILE=E:\selling-partner-api-models-main\clients\sellingpartner-api-aa-java\resources\java\config.json"
set "TEMPLATE_DIR=E:\selling-partner-api-models-main\clients\sellingpartner-api-aa-java\resources\swagger-codegen\templates"
set "CODEGEN_JAR=C:\SwaggerToCL\swagger-codegen-cli.jar"

:: 确保输出目录存在
if not exist "%OUTPUT_DIR%" mkdir "%OUTPUT_DIR%"

:: 循环处理所有子文件夹中的 JSON 文件
for /r "%MODEL_DIR%" %%F in (*.json) do (
    echo 正在处理 %%F...
    
    :: 提取文件名并生成输出子目录
    set "FILE_NAME=%%~nF"
    set "OUTPUT_SUBDIR=%OUTPUT_DIR%\%%~nF_JavaCL"

    :: 确保子目录不存在时创建
    @REM if not exist "%OUTPUT_SUBDIR%" mkdir "%OUTPUT_SUBDIR%"

    :: 运行代码生成命令
    java -jar "%CODEGEN_JAR%" generate ^
        -i "%%F" ^
        -l java ^
        -t "%TEMPLATE_DIR%" ^
        -o "C:\SwaggerToCL\Sellers_JavaCL" ^
        -c "%CONFIG_FILE%"

    echo %%F 处理完成，生成到 %OUTPUT_SUBDIR%！
)
echo 所有文件处理完成！
pause
